package com.cj.mobile.iabp.mvp.contract;

import com.cj.mobile.iabp.mvp.model.entity.RemoveInfo;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;

import java.util.List;

import io.reactivex.Observable;

/**
 * ================================================
 * Description:
 * <p>
 * Created by MVPArmsTemplate on 2025/09/30 18:01
 * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
 * <a href="https://github.com/JessYanCoding">Follow me</a>
 * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
 * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
 * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
 * ================================================
 */
public interface AddRemoveConcernInfoContract {
    //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
    interface View extends IView {

        void showRemoveInfo(String code, String name, RemoveInfo info);

        void showLoadingSubmit();

        void hideLoadingSubmit();
    }

    //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
    interface Model extends IModel {

        /**
         * 修改撤机信息
         *
         * @param pre       暂存0或提交1
         * @param patienId  患者id
         * @param ast       ast
         * @param alt       alt
         * @param cr        肌酐cr
         * @param egfr      egfr
         * @param myo       肌红蛋白
         * @param clac      乳酸
         * @param ga        肌钙蛋白
         * @param leftSize  左室舒张末期内径
         * @param leftScore 左室射血分数
         * @param nirsLeft  NIRS左
         * @param nirsRight NIRS右
         * @param lessL     安装侧
         * @param lessR     对侧
         */
        Observable<Integer> updateRemove(String pre, String focuse, String id, String patienId, String ast, String alt, String cr, String egfr, String myo, String clac,
                                         String ga, String leftSize, String leftScore, String nirsLeft, String nirsRight, List<String> lessL,
                                         List<String> lessR);
    }
}